[INFO] cloning repository https://github.com/uponup/libsignal-client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/uponup/libsignal-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuponup%2Flibsignal-client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuponup%2Flibsignal-client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7556d0acefba39b978451af8a052197f38ff6e24
[INFO] fixing uponup/libsignal-client against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuponup%2Flibsignal-client" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/uponup/libsignal-client
[INFO] finished tweaking git repo https://github.com/uponup/libsignal-client
[INFO] tweaked toml for git repo https://github.com/uponup/libsignal-client written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/uponup/libsignal-client on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/uponup/libsignal-client already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 68511f61c2dfa6a9cd18b35efb177cafd57691d9a3b7a0075eebbc618cd71675
[INFO] running `Command { std: "docker" "start" "68511f61c2dfa6a9cd18b35efb177cafd57691d9a3b7a0075eebbc618cd71675", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "68511f61c2dfa6a9cd18b35efb177cafd57691d9a3b7a0075eebbc618cd71675" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68511f61c2dfa6a9cd18b35efb177cafd57691d9a3b7a0075eebbc618cd71675", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "68511f61c2dfa6a9cd18b35efb177cafd57691d9a3b7a0075eebbc618cd71675" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating rust/aes-gcm-siv/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/poksho/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/ffi/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/shared/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/shared/macros/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/futures/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/futures/tests-node-module/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/jni/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling libc v0.2.86
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.123
[INFO] [stderr]    Compiling serde v1.0.123
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking subtle v2.4.0
[INFO] [stderr]     Checking byteorder v1.4.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling anyhow v1.0.38
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]     Checking futures-core v0.3.13
[INFO] [stderr]     Checking futures-sink v0.3.13
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]     Checking futures-channel v0.3.13
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking futures-io v0.3.13
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking futures-task v0.3.13
[INFO] [stderr]     Checking pin-project-lite v0.2.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling indexmap v1.6.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]     Checking hex v0.4.2
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking cpuid-bool v0.1.2
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling multimap v0.8.2
[INFO] [stderr]     Checking sha2 v0.9.3
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.2
[INFO] [stderr]    Compiling neon-build v0.7.1
[INFO] [stderr]    Compiling memoffset v0.6.1
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking block-modes v0.7.0
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling neon v0.7.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking neon-runtime v0.7.1
[INFO] [stderr]    Compiling cast v0.2.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]     Checking cslice v0.2.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling serde_json v1.0.62
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking universal-hash v0.4.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]     Checking plotters-backend v0.3.0
[INFO] [stderr]     Checking unicode-width v0.1.8
[INFO] [stderr]     Checking polyval v0.4.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking plotters-svg v0.3.0
[INFO] [stderr]     Checking aesni v0.10.0
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking half v1.7.1
[INFO] [stderr]     Checking regex-syntax v0.6.22
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]    Compiling jni v0.19.0
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]     Checking plotters v0.3.0
[INFO] [stderr]     Checking aes-gcm-siv v0.1.0 (/opt/rustwide/workdir/rust/aes-gcm-siv)
[INFO] [stderr]    Migrating rust/aes-gcm-siv/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking combine v4.5.2
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]    Compiling unzip3 v1.0.0
[INFO] [stderr]     Checking jni-sys v0.3.0
[INFO] [stderr]     Checking regex v1.4.3
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling paste v1.0.4
[INFO] [stderr]     Checking unicode-xid v0.2.1
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling syn-mid v0.5.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling futures-macro v0.3.13
[INFO] [stderr]    Compiling prost-derive v0.7.0
[INFO] [stderr]    Compiling zeroize_derive v1.0.1
[INFO] [stderr]    Compiling async-trait v0.1.42
[INFO] [stderr]     Checking zeroize v1.2.0
[INFO] [stderr]    Compiling neon-macros v0.7.1
[INFO] [stderr]     Checking futures-util v0.3.13
[INFO] [stderr]    Compiling linkme-impl v0.2.4
[INFO] [stderr]    Compiling libsignal-bridge-macros v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared/macros)
[INFO] [stderr]    Migrating rust/bridge/shared/macros/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling which v4.0.2
[INFO] [stderr]    Compiling prost-build v0.7.0
[INFO] [stderr]     Checking linkme v0.2.4
[INFO] [stderr]    Compiling prost v0.7.0
[INFO] [stderr]    Compiling prost-types v0.7.0
[INFO] [stderr]     Checking futures-executor v0.3.13
[INFO] [stderr]     Checking futures v0.3.13
[INFO] [stderr]     Checking signal-neon-futures v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures)
[INFO] [stderr]    Migrating rust/bridge/node/futures/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed rust/bridge/node/futures/src/executor.rs (1 fix)
[INFO] [stderr]     Checking signal-neon-futures-tests v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures/tests-node-module)
[INFO] [stderr]    Migrating rust/bridge/node/futures/tests-node-module/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/futures/tests/node.rs from 2018 edition to 2021
[INFO] [stderr]    Compiling libsignal-protocol v0.1.0 (/opt/rustwide/workdir/rust/protocol)
[INFO] [stderr]    Migrating rust/protocol/build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking curve25519-dalek v3.0.0 (https://github.com/signalapp/curve25519-dalek?branch=3.0.0-lizard2#2694ad3b)
[INFO] [stderr]     Checking bstr v0.2.15
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking x25519-dalek v1.1.0
[INFO] [stderr]     Checking poksho v0.7.0 (/opt/rustwide/workdir/rust/poksho)
[INFO] [stderr]    Migrating rust/poksho/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking csv v1.1.5
[INFO] [stderr]     Checking tinytemplate v1.2.0
[INFO] [stderr]     Checking criterion v0.3.4
[INFO] [stderr]     Checking libsignal-bridge v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared)
[INFO] [stderr]    Migrating rust/bridge/shared/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed rust/bridge/shared/src/jni/mod.rs (2 fixes)
[INFO] [stderr]     Checking libsignal-node v0.3.1 (/opt/rustwide/workdir/rust/bridge/node)
[INFO] [stderr]     Checking libsignal-jni v0.2.3 (/opt/rustwide/workdir/rust/bridge/jni)
[INFO] [stderr]    Migrating rust/protocol/tests/session.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/tests/ratchet.rs from 2018 edition to 2021
[INFO] [stderr]     Checking libsignal-ffi v0.3.1 (/opt/rustwide/workdir/rust/bridge/ffi)
[INFO] [stderr]    Migrating rust/aes-gcm-siv/benches/aes_gcm_siv.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/tests/groups.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/jni/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/ffi/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/aes-gcm-siv/tests/aes_gcm_siv.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/benches/ratchet.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/tests/sealed_sender.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/benches/session.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: aes-gcm-siv v0.1.0 (/opt/rustwide/workdir/rust/aes-gcm-siv) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: poksho v0.7.0 (/opt/rustwide/workdir/rust/poksho) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-protocol v0.1.0 (/opt/rustwide/workdir/rust/protocol) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-ffi v0.3.1 (/opt/rustwide/workdir/rust/bridge/ffi) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-bridge v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-bridge-macros v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared/macros) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: signal-neon-futures v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: signal-neon-futures-tests v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures/tests-node-module) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-jni v0.2.3 (/opt/rustwide/workdir/rust/bridge/jni) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libsignal-node v0.3.1 (/opt/rustwide/workdir/rust/bridge/node) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libsignal-protocol v0.1.0 (/opt/rustwide/workdir/rust/protocol)
[INFO] [stderr]     Checking signal-neon-futures v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures)
[INFO] [stderr]     Checking aes-gcm-siv v0.1.0 (/opt/rustwide/workdir/rust/aes-gcm-siv)
[INFO] [stderr]    Compiling libsignal-bridge-macros v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared/macros)
[INFO] [stderr]     Checking poksho v0.7.0 (/opt/rustwide/workdir/rust/poksho)
[INFO] [stdout] warning: unused import: `neon::prelude::*`
[INFO] [stdout]  --> rust/bridge/node/futures/src/future/builder.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use neon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `wake_trait` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/bridge/node/futures/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![feature(wake_trait)]
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> rust/bridge/node/futures/src/future.rs:187:34
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<F, T>
[INFO] [stdout]     |                                  ^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<'_, F, T>
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking signal-neon-futures-tests v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures/tests-node-module)
[INFO] [stdout] warning: fields `tc_id`, `comment`, and `flags` are never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct WycheproofTest {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 12 |     #[serde(rename = "tcId")]
[INFO] [stdout] 13 |     tc_id: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     comment: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     flags: Vec<String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `typ` is never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct WycheproofTestGroup {
[INFO] [stdout]    |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     typ: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTestGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `generator_version`, `number_of_tests`, `header`, `notes`, and `schema` are never read
[INFO] [stdout]   --> rust/aes-gcm-siv/tests/aes_gcm_siv.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct WycheproofTestSet {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     generator_version: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     #[serde(rename = "numberOfTests")]
[INFO] [stdout] 46 |     number_of_tests: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     header: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 48 |     notes: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     schema: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WycheproofTestSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `neon::prelude::*`
[INFO] [stdout]  --> rust/bridge/node/futures/src/future/builder.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use neon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `wake_trait` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/bridge/node/futures/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![feature(wake_trait)]
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> rust/bridge/node/futures/src/future.rs:187:34
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<F, T>
[INFO] [stdout]     |                                  ^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<'_, F, T>
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking libsignal-bridge v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared)
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]  --> rust/bridge/shared/src/ffi/convert.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use libsignal_protocol::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]  --> rust/bridge/shared/src/jni/convert.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libsignal_protocol::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]   --> rust/bridge/shared/src/jni/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use libsignal_protocol::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `neon::prelude::*`
[INFO] [stdout]  --> rust/bridge/shared/src/node/convert.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use neon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]  --> rust/bridge/shared/src/ffi/convert.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use libsignal_protocol::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]  --> rust/bridge/shared/src/jni/convert.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libsignal_protocol::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `libsignal_protocol::*`
[INFO] [stdout]   --> rust/bridge/shared/src/jni/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use libsignal_protocol::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `neon::prelude::*`
[INFO] [stdout]  --> rust/bridge/shared/src/node/convert.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use neon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 | let _ = bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 | let _ = bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 | let _ = bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 | let _ = bridge_handle!(PreKeyBundle);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 | let _ = bridge_handle!(PreKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 | let _ = bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 | let _ = bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 | let _ = bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 | let _ = bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | bridge_handle!(SenderCertificate);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 | let _ = bridge_handle!(SenderCertificate);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 | let _ = bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | bridge_handle!(SenderKeyMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 | let _ = bridge_handle!(SenderKeyMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | bridge_handle!(SenderKeyName);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 | let _ = bridge_handle!(SenderKeyName);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | bridge_handle!(SenderKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 | let _ = bridge_handle!(SenderKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | bridge_handle!(ServerCertificate);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 | let _ = bridge_handle!(ServerCertificate);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 | let _ = bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 | let _ = bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 | let _ = bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 | let _ = bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking libsignal-ffi v0.3.1 (/opt/rustwide/workdir/rust/bridge/ffi)
[INFO] [stderr]     Checking libsignal-jni v0.2.3 (/opt/rustwide/workdir/rust/bridge/jni)
[INFO] [stderr]     Checking libsignal-node v0.3.1 (/opt/rustwide/workdir/rust/bridge/node)
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     CString::from_raw(buf as _);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let _ = CString::from_raw(buf as _);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 14 | let _ = bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 | let _ = bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 | let _ = bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 | let _ = bridge_handle!(PreKeyBundle);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 18 | let _ = bridge_handle!(PreKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 | let _ = bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 | let _ = bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 | let _ = bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 22 | let _ = bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | bridge_handle!(SenderCertificate);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 | let _ = bridge_handle!(SenderCertificate);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 | let _ = bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | bridge_handle!(SenderKeyMessage);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 | let _ = bridge_handle!(SenderKeyMessage);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | bridge_handle!(SenderKeyName);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 | let _ = bridge_handle!(SenderKeyName);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | bridge_handle!(SenderKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 | let _ = bridge_handle!(SenderKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | bridge_handle!(ServerCertificate);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 | let _ = bridge_handle!(ServerCertificate);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 | let _ = bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 | let _ = bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 | let _ = bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/shared/src/protocol.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 | let _ = bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]    | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `CString::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     CString::from_raw(buf as _);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let _ = CString::from_raw(buf as _);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> rust/bridge/ffi/src/lib.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = Box::from_raw(std::slice::from_raw_parts_mut(buf as *mut c_uchar, buf_len));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating rust/aes-gcm-siv/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/poksho/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/protocol/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/ffi/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/shared/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/shared/macros/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/futures/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/futures/tests-node-module/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/jni/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating rust/bridge/node/Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stdout] warning: unused import: `neon::prelude::*`
[INFO] [stdout]  --> rust/bridge/node/futures/src/future/builder.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use neon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `wake_trait` has been stable since 1.51.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> rust/bridge/node/futures/src/lib.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![feature(wake_trait)]
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> rust/bridge/node/futures/src/future.rs:187:34
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<F, T>
[INFO] [stdout]     |                                  ^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     pub fn get_promise<F>(queue: &EventQueue, get_promise: F) -> JsFutureBuilder<'_, F, T>
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking aes-gcm-siv v0.1.0 (/opt/rustwide/workdir/rust/aes-gcm-siv)
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `future` is never read
[INFO] [stdout]   --> rust/bridge/node/futures/tests-node-module/src/panics_and_throws.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         future.await?;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking libsignal-protocol v0.1.0 (/opt/rustwide/workdir/rust/protocol)
[INFO] [stderr]     Checking signal-neon-futures v0.1.0 (/opt/rustwide/workdir/rust/bridge/node/futures)
[INFO] [stderr]     Checking libsignal-bridge-macros v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared/macros)
[INFO] [stderr]    Migrating rust/aes-gcm-siv/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed rust/aes-gcm-siv/src/polyval/polyval_clmul.rs (1 fix)
[INFO] [stderr]    Migrating rust/protocol/tests/sealed_sender.rs from 2021 edition to 2024
[INFO] [stderr]     Checking libsignal-bridge v0.1.0 (/opt/rustwide/workdir/rust/bridge/shared)
[INFO] [stderr]        Fixed rust/protocol/tests/support/mod.rs (4 fixes)
[INFO] [stderr]    Migrating rust/protocol/benches/ratchet.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating rust/bridge/node/futures/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating rust/protocol/tests/groups.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed rust/protocol/tests/groups.rs (1 fix)
[INFO] [stderr]    Migrating rust/bridge/shared/macros/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed rust/bridge/shared/macros/src/jni.rs (1 fix)
[INFO] [stderr]    Migrating rust/bridge/node/futures/tests/node.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed rust/bridge/shared/macros/src/ffi.rs (1 fix)
[INFO] [stderr]    Migrating rust/bridge/shared/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating rust/aes-gcm-siv/benches/aes_gcm_siv.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `libsignal_bridge`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-utils-0.1.0/src/stack_pin.rs
[INFO] [stderr]  ::: rust/bridge/shared/src/jni/error.rs
[INFO] [stderr]  ::: rust/bridge/shared/src/node/mod.rs
[INFO] [stderr]  ::: rust/bridge/shared/src/support/mod.rs
[INFO] [stderr]   = cause: error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/aes_gcm_siv.rs:16:1
[INFO] [stderr]                |
[INFO] [stderr]             16 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/aes_gcm_siv.rs:21:1
[INFO] [stderr]                |
[INFO] [stderr]             21 | #[bridge_fn_buffer]
[INFO] [stderr]                | ------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/aes_gcm_siv.rs:38:1
[INFO] [stderr]                |
[INFO] [stderr]             38 | #[bridge_fn_buffer]
[INFO] [stderr]                | ------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:36:1
[INFO] [stderr]                |
[INFO] [stderr]             36 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stderr]                | -------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:68:1
[INFO] [stderr]                |
[INFO] [stderr]             68 | #[bridge_fn(ffi = "address_new")]
[INFO] [stderr]                | --------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:73:1
[INFO] [stderr]                |
[INFO] [stderr]             73 | bridge_deserialize!(PublicKey::deserialize, ffi = publickey, jni = false);
[INFO] [stderr]                | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:82:1
[INFO] [stderr]                |
[INFO] [stderr]             82 | / bridge_get_bytearray!(
[INFO] [stderr]             83 | |     PublicKey::serialize as Serialize,
[INFO] [stderr]             84 | |     ffi = "publickey_serialize",
[INFO] [stderr]             85 | |     jni = "ECPublicKey_1Serialize"
[INFO] [stderr]             86 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:87:1
[INFO] [stderr]                |
[INFO] [stderr]             87 | / bridge_get_bytearray!(
[INFO] [stderr]             88 | |     PublicKey::public_key_bytes,
[INFO] [stderr]             89 | |     ffi = "publickey_get_public_key_bytes",
[INFO] [stderr]             90 | |     jni = "ECPublicKey_1GetPublicKeyBytes"
[INFO] [stderr]             91 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:92:1
[INFO] [stderr]                |
[INFO] [stderr]             92 | bridge_get!(ProtocolAddress::device_id as DeviceId -> u32, ffi = "address_get_device_id");
[INFO] [stderr]                | ----------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:93:1
[INFO] [stderr]                |
[INFO] [stderr]             93 | bridge_get!(ProtocolAddress::name as Name -> &str, ffi = "address_get_name");
[INFO] [stderr]                | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:95:1
[INFO] [stderr]                |
[INFO] [stderr]             95 | #[bridge_fn(ffi = "publickey_compare", node = "PublicKey_Compare")]
[INFO] [stderr]                | ------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:104:1
[INFO] [stderr]                |
[INFO] [stderr]            104 | #[bridge_fn(ffi = "publickey_verify", node = "PublicKey_Verify")]
[INFO] [stderr]                | ----------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:109:1
[INFO] [stderr]                |
[INFO] [stderr]            109 | / bridge_deserialize!(
[INFO] [stderr]            110 | |     PrivateKey::deserialize,
[INFO] [stderr]            111 | |     ffi = privatekey,
[INFO] [stderr]            112 | |     jni = ECPrivateKey
[INFO] [stderr]            113 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:114:1
[INFO] [stderr]                |
[INFO] [stderr]            114 | / bridge_get_bytearray!(
[INFO] [stderr]            115 | |     PrivateKey::serialize as Serialize,
[INFO] [stderr]            116 | |     ffi = "privatekey_serialize",
[INFO] [stderr]            117 | |     jni = "ECPrivateKey_1Serialize"
[INFO] [stderr]            118 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:120:1
[INFO] [stderr]                |
[INFO] [stderr]            120 | #[bridge_fn(ffi = "privatekey_generate", node = "PrivateKey_Generate")]
[INFO] [stderr]                | ----------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:127:1
[INFO] [stderr]                |
[INFO] [stderr]            127 | #[bridge_fn(ffi = "privatekey_get_public_key", node = "PrivateKey_GetPublicKey")]
[INFO] [stderr]                | --------------------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:132:1
[INFO] [stderr]                |
[INFO] [stderr]            132 | #[bridge_fn_buffer(ffi = "privatekey_sign", node = "PrivateKey_Sign")]
[INFO] [stderr]                | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:139:1
[INFO] [stderr]                |
[INFO] [stderr]            139 | #[bridge_fn_buffer(ffi = "privatekey_agree", node = "PrivateKey_Agree")]
[INFO] [stderr]                | ------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:149:1
[INFO] [stderr]                |
[INFO] [stderr]            149 | #[bridge_fn_buffer(ffi = "identitykeypair_serialize")]
[INFO] [stderr]                | ------------------------------------------------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:159:1
[INFO] [stderr]                |
[INFO] [stderr]            159 | #[bridge_fn(jni = false)]
[INFO] [stderr]                | ------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:201:1
[INFO] [stderr]                |
[INFO] [stderr]            201 | #[bridge_fn_buffer(jni = "NumericFingerprintGenerator_1GetScannableEncoding")]
[INFO] [stderr]                | ------------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:206:1
[INFO] [stderr]                |
[INFO] [stderr]            206 | / bridge_get!(
[INFO] [stderr]            207 | |     Fingerprint::display_string as DisplayString -> String,
[INFO] [stderr]            208 | |     jni = "NumericFingerprintGenerator_1GetDisplayString"
[INFO] [stderr]            209 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:211:1
[INFO] [stderr]                |
[INFO] [stderr]            211 | #[bridge_fn(ffi = "fingerprint_compare")]
[INFO] [stderr]                | ----------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:216:1
[INFO] [stderr]                |
[INFO] [stderr]            216 | bridge_deserialize!(SignalMessage::try_from, ffi = message);
[INFO] [stderr]                | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:223:1
[INFO] [stderr]                |
[INFO] [stderr]            223 | bridge_get_bytearray!(SignalMessage::body, ffi = "message_get_body");
[INFO] [stderr]                | -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:224:1
[INFO] [stderr]                |
[INFO] [stderr]            224 | bridge_get_bytearray!(SignalMessage::serialized, ffi = "message_get_serialized");
[INFO] [stderr]                | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:225:1
[INFO] [stderr]                |
[INFO] [stderr]            225 | bridge_get!(SignalMessage::counter -> u32, ffi = "message_get_counter");
[INFO] [stderr]                | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:226:1
[INFO] [stderr]                |
[INFO] [stderr]            226 | bridge_get!(SignalMessage::message_version -> u32, ffi = "message_get_message_version");
[INFO] [stderr]                | --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:228:1
[INFO] [stderr]                |
[INFO] [stderr]            228 | #[bridge_fn(ffi = "message_new")]
[INFO] [stderr]                | --------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:251:1
[INFO] [stderr]                |
[INFO] [stderr]            251 | #[bridge_fn(ffi = "message_verify_mac")]
[INFO] [stderr]                | ---------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:270:1
[INFO] [stderr]                |
[INFO] [stderr]            270 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:306:1
[INFO] [stderr]                |
[INFO] [stderr]            306 | bridge_deserialize!(PreKeySignalMessage::try_from);
[INFO] [stderr]                | -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:307:1
[INFO] [stderr]                |
[INFO] [stderr]            307 | / bridge_get_bytearray!(
[INFO] [stderr]            308 | |     PreKeySignalMessage::serialized as Serialize,
[INFO] [stderr]            309 | |     jni = "PreKeySignalMessage_1GetSerialized"
[INFO] [stderr]            310 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:337:1
[INFO] [stderr]                |
[INFO] [stderr]            337 | bridge_get!(PreKeySignalMessage::registration_id -> u32);
[INFO] [stderr]                | -------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:338:1
[INFO] [stderr]                |
[INFO] [stderr]            338 | bridge_get!(PreKeySignalMessage::signed_pre_key_id -> u32);
[INFO] [stderr]                | ---------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:339:1
[INFO] [stderr]                |
[INFO] [stderr]            339 | bridge_get!(PreKeySignalMessage::pre_key_id -> Option<u32>);
[INFO] [stderr]                | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:340:1
[INFO] [stderr]                |
[INFO] [stderr]            340 | bridge_get!(PreKeySignalMessage::message_version as GetVersion -> u32);
[INFO] [stderr]                | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:342:1
[INFO] [stderr]                |
[INFO] [stderr]            342 | bridge_deserialize!(SenderKeyMessage::try_from);
[INFO] [stderr]                | ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:343:1
[INFO] [stderr]                |
[INFO] [stderr]            343 | bridge_get_bytearray!(SenderKeyMessage::ciphertext as GetCipherText);
[INFO] [stderr]                | -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:344:1
[INFO] [stderr]                |
[INFO] [stderr]            344 | / bridge_get_bytearray!(
[INFO] [stderr]            345 | |     SenderKeyMessage::serialized as Serialize,
[INFO] [stderr]            346 | |     jni = "SenderKeyMessage_1GetSerialized"
[INFO] [stderr]            347 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:348:1
[INFO] [stderr]                |
[INFO] [stderr]            348 | bridge_get!(SenderKeyMessage::key_id -> u32);
[INFO] [stderr]                | -------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:349:1
[INFO] [stderr]                |
[INFO] [stderr]            349 | bridge_get!(SenderKeyMessage::iteration -> u32);
[INFO] [stderr]                | ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:351:1
[INFO] [stderr]                |
[INFO] [stderr]            351 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:362:1
[INFO] [stderr]                |
[INFO] [stderr]            362 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:367:1
[INFO] [stderr]                |
[INFO] [stderr]            367 | bridge_deserialize!(SenderKeyDistributionMessage::try_from);
[INFO] [stderr]                | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:368:1
[INFO] [stderr]                |
[INFO] [stderr]            368 | bridge_get_bytearray!(SenderKeyDistributionMessage::chain_key);
[INFO] [stderr]                | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:382:1
[INFO] [stderr]                |
[INFO] [stderr]            382 | / bridge_get_bytearray!(
[INFO] [stderr]            383 | |     SenderKeyDistributionMessage::serialized as Serialize,
[INFO] [stderr]            384 | |     jni = "SenderKeyDistributionMessage_1GetSerialized"
[INFO] [stderr]            385 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:386:1
[INFO] [stderr]                |
[INFO] [stderr]            386 | bridge_get!(SenderKeyDistributionMessage::id -> u32);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:387:1
[INFO] [stderr]                |
[INFO] [stderr]            387 | bridge_get!(SenderKeyDistributionMessage::iteration -> u32);
[INFO] [stderr]                | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:389:1
[INFO] [stderr]                |
[INFO] [stderr]            389 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:406:1
[INFO] [stderr]                |
[INFO] [stderr]            406 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:440:1
[INFO] [stderr]                |
[INFO] [stderr]            440 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:445:1
[INFO] [stderr]                |
[INFO] [stderr]            445 | bridge_get_bytearray!(PreKeyBundle::signed_pre_key_signature);
[INFO] [stderr]                | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:446:1
[INFO] [stderr]                |
[INFO] [stderr]            446 | bridge_get!(PreKeyBundle::registration_id -> u32);
[INFO] [stderr]                | ------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:447:1
[INFO] [stderr]                |
[INFO] [stderr]            447 | bridge_get!(PreKeyBundle::device_id -> u32);
[INFO] [stderr]                | ------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:448:1
[INFO] [stderr]                |
[INFO] [stderr]            448 | bridge_get!(PreKeyBundle::signed_pre_key_id -> u32);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:449:1
[INFO] [stderr]                |
[INFO] [stderr]            449 | bridge_get!(PreKeyBundle::pre_key_id -> Option<u32>);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:450:1
[INFO] [stderr]                |
[INFO] [stderr]            450 | bridge_get!(PreKeyBundle::pre_key_public -> Option<PublicKey>);
[INFO] [stderr]                | -------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:451:1
[INFO] [stderr]                |
[INFO] [stderr]            451 | bridge_get!(PreKeyBundle::signed_pre_key_public -> PublicKey);
[INFO] [stderr]                | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:453:1
[INFO] [stderr]                |
[INFO] [stderr]            453 | bridge_deserialize!(SignedPreKeyRecord::deserialize);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:454:1
[INFO] [stderr]                |
[INFO] [stderr]            454 | bridge_get_bytearray!(SignedPreKeyRecord::signature);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:455:1
[INFO] [stderr]                |
[INFO] [stderr]            455 | / bridge_get_bytearray!(
[INFO] [stderr]            456 | |     SignedPreKeyRecord::serialize as Serialize,
[INFO] [stderr]            457 | |     jni = "SignedPreKeyRecord_1GetSerialized"
[INFO] [stderr]            458 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:459:1
[INFO] [stderr]                |
[INFO] [stderr]            459 | bridge_get!(SignedPreKeyRecord::id -> u32);
[INFO] [stderr]                | ------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:460:1
[INFO] [stderr]                |
[INFO] [stderr]            460 | bridge_get!(SignedPreKeyRecord::timestamp -> u64);
[INFO] [stderr]                | ------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:461:1
[INFO] [stderr]                |
[INFO] [stderr]            461 | bridge_get!(SignedPreKeyRecord::public_key -> PublicKey);
[INFO] [stderr]                | -------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:462:1
[INFO] [stderr]                |
[INFO] [stderr]            462 | bridge_get!(SignedPreKeyRecord::private_key -> PrivateKey);
[INFO] [stderr]                | ---------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:464:1
[INFO] [stderr]                |
[INFO] [stderr]            464 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:476:1
[INFO] [stderr]                |
[INFO] [stderr]            476 | bridge_deserialize!(PreKeyRecord::deserialize);
[INFO] [stderr]                | ---------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:477:1
[INFO] [stderr]                |
[INFO] [stderr]            477 | / bridge_get_bytearray!(
[INFO] [stderr]            478 | |     PreKeyRecord::serialize as Serialize,
[INFO] [stderr]            479 | |     jni = "PreKeyRecord_1GetSerialized"
[INFO] [stderr]            480 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:481:1
[INFO] [stderr]                |
[INFO] [stderr]            481 | bridge_get!(PreKeyRecord::id -> u32);
[INFO] [stderr]                | ------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:482:1
[INFO] [stderr]                |
[INFO] [stderr]            482 | bridge_get!(PreKeyRecord::public_key -> PublicKey);
[INFO] [stderr]                | -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:483:1
[INFO] [stderr]                |
[INFO] [stderr]            483 | bridge_get!(PreKeyRecord::private_key -> PrivateKey);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:485:1
[INFO] [stderr]                |
[INFO] [stderr]            485 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:491:1
[INFO] [stderr]                |
[INFO] [stderr]            491 | bridge_get!(SenderKeyName::group_id -> String);
[INFO] [stderr]                | ---------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:493:1
[INFO] [stderr]                |
[INFO] [stderr]            493 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:498:1
[INFO] [stderr]                |
[INFO] [stderr]            498 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:510:1
[INFO] [stderr]                |
[INFO] [stderr]            510 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:515:1
[INFO] [stderr]                |
[INFO] [stderr]            515 | bridge_deserialize!(SenderKeyRecord::deserialize);
[INFO] [stderr]                | ------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:516:1
[INFO] [stderr]                |
[INFO] [stderr]            516 | / bridge_get_bytearray!(
[INFO] [stderr]            517 | |     SenderKeyRecord::serialize as Serialize,
[INFO] [stderr]            518 | |     jni = "SenderKeyRecord_1GetSerialized"
[INFO] [stderr]            519 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:521:1
[INFO] [stderr]                |
[INFO] [stderr]            521 | #[bridge_fn(ffi = "sender_key_record_new_fresh")]
[INFO] [stderr]                | ------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:526:1
[INFO] [stderr]                |
[INFO] [stderr]            526 | bridge_deserialize!(ServerCertificate::deserialize);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:527:1
[INFO] [stderr]                |
[INFO] [stderr]            527 | bridge_get_bytearray!(ServerCertificate::serialized);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:528:1
[INFO] [stderr]                |
[INFO] [stderr]            528 | bridge_get_bytearray!(ServerCertificate::certificate);
[INFO] [stderr]                | ----------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:529:1
[INFO] [stderr]                |
[INFO] [stderr]            529 | bridge_get_bytearray!(ServerCertificate::signature);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:530:1
[INFO] [stderr]                |
[INFO] [stderr]            530 | bridge_get!(ServerCertificate::key_id -> u32);
[INFO] [stderr]                | --------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:531:1
[INFO] [stderr]                |
[INFO] [stderr]            531 | bridge_get!(ServerCertificate::public_key as GetKey -> PublicKey);
[INFO] [stderr]                | ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:533:1
[INFO] [stderr]                |
[INFO] [stderr]            533 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:543:1
[INFO] [stderr]                |
[INFO] [stderr]            543 | bridge_deserialize!(SenderCertificate::deserialize);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:544:1
[INFO] [stderr]                |
[INFO] [stderr]            544 | bridge_get_bytearray!(SenderCertificate::serialized);
[INFO] [stderr]                | ---------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |               ^^^^^^
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/aes_gcm_siv.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[bridge_fn]
[INFO] [stdout]    | ------------ in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:545:1
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/aes_gcm_siv.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[bridge_fn_buffer]
[INFO] [stdout]    | ------------------- in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | #[bridge_fn_buffer]
[INFO] [stdout]     | ------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            545 | bridge_get_bytearray!(SenderCertificate::certificate);
[INFO] [stderr]                | ----------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:546:1
[INFO] [stderr]                |
[INFO] [stderr]            546 | bridge_get_bytearray!(SenderCertificate::signature);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:547:1
[INFO] [stderr]                |
[INFO] [stderr]            547 | bridge_get!(SenderCertificate::sender_uuid -> &str);
[INFO] [stderr]                | --------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:548:1
[INFO] [stderr]                |
[INFO] [stderr]            548 | bridge_get!(SenderCertificate::sender_e164 -> Option<&str>);
[INFO] [stderr]                | ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:549:1
[INFO] [stderr]                |
[INFO] [stderr]            549 | bridge_get!(SenderCertificate::expiration -> u64);
[INFO] [stderr]                | ------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:550:1
[INFO] [stderr]                |
[INFO] [stderr]            550 | bridge_get!(SenderCertificate::sender_device_id as GetDeviceId -> u32);
[INFO] [stderr]                | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:551:1
[INFO] [stderr]                |
[INFO] [stderr]            551 | bridge_get!(SenderCertificate::key -> PublicKey);
[INFO] [stderr]                | ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:553:1
[INFO] [stderr]                |
[INFO] [stderr]            553 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:562:1
[INFO] [stderr]                |
[INFO] [stderr]            562 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:567:1
[INFO] [stderr]                |
[INFO] [stderr]            567 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:591:1
[INFO] [stderr]                |
[INFO] [stderr]            591 | bridge_deserialize!(UnidentifiedSenderMessageContent::deserialize);
[INFO] [stderr]                | ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:592:1
[INFO] [stderr]                |
[INFO] [stderr]            592 | / bridge_get_bytearray!(
[INFO] [stderr]            593 | |     UnidentifiedSenderMessageContent::serialized as Serialize,
[INFO] [stderr]            594 | |     jni = "UnidentifiedSenderMessageContent_1GetSerialized"
[INFO] [stderr]            595 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:596:1
[INFO] [stderr]                |
[INFO] [stderr]            596 | bridge_get_bytearray!(UnidentifiedSenderMessageContent::contents);
[INFO] [stderr]                | ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:598:1
[INFO] [stderr]                |
[INFO] [stderr]            598 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:605:1
[INFO] [stderr]                |
[INFO] [stderr]            605 | #[bridge_fn]
[INFO] [stderr]                | ------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:692:1
[INFO] [stderr]                |
[INFO] [stderr]            692 | #[bridge_fn(jni = false)]
[INFO] [stderr]                | ------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:697:1
[INFO] [stderr]                |
[INFO] [stderr]            697 | bridge_get_bytearray!(CiphertextMessage::serialize as Serialize, jni = false);
[INFO] [stderr]                | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:719:1
[INFO] [stderr]                |
[INFO] [stderr]            719 | #[bridge_fn_void]
[INFO] [stderr]                | ----------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:726:1
[INFO] [stderr]                |
[INFO] [stderr]            726 | bridge_deserialize!(SessionRecord::deserialize);
[INFO] [stderr]                | ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:727:1
[INFO] [stderr]                |
[INFO] [stderr]            727 | bridge_get_bytearray!(SessionRecord::serialize as Serialize);
[INFO] [stderr]                | ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:739:1
[INFO] [stderr]                |
[INFO] [stderr]            739 | bridge_get!(SessionRecord::local_registration_id -> u32);
[INFO] [stderr]                | -------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:740:1
[INFO] [stderr]                |
[INFO] [stderr]            740 | bridge_get!(SessionRecord::remote_registration_id -> u32);
[INFO] [stderr]                | --------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:743:1
[INFO] [stderr]                |
[INFO] [stderr]            743 | bridge_get!(SealedSenderDecryptionResult::sender_uuid -> String, ffi = false, jni = false);
[INFO] [stderr]                | ------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:744:1
[INFO] [stderr]                |
[INFO] [stderr]            744 | bridge_get!(SealedSenderDecryptionResult::sender_e164 -> Option<String>, ffi = false, jni = false);
[INFO] [stderr]                | -------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:745:1
[INFO] [stderr]                |
[INFO] [stderr]            745 | bridge_get!(SealedSenderDecryptionResult::device_id -> u32, ffi = false, jni = false);
[INFO] [stderr]                | ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |                 ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:746:1
[INFO] [stderr]                |
[INFO] [stderr]            746 | / bridge_get_bytearray!(
[INFO] [stderr]            747 | |     SealedSenderDecryptionResult::message as Message,
[INFO] [stderr]            748 | |     ffi = false,
[INFO] [stderr]            749 | |     jni = false
[INFO] [stderr]            750 | | );
[INFO] [stderr]                | |_- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:858:1
[INFO] [stderr]                |
[INFO] [stderr]            858 | #[bridge_fn_void(ffi = false)]
[INFO] [stderr]                | ------------------------------ in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:895:1
[INFO] [stderr]                |
[INFO] [stderr]            895 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stderr]                | -------------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:934:1
[INFO] [stderr]                |
[INFO] [stderr]            934 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stderr]                | -------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]               --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                |
[INFO] [stderr]            116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                |               ^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]               ::: rust/bridge/shared/src/protocol.rs:981:1
[INFO] [stderr]                |
[INFO] [stderr]            981 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stderr]                | -------------------------------- in this attribute macro expansion
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |               ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1030:1
[INFO] [stderr]                 |
[INFO] [stderr]            1030 | #[bridge_fn_buffer(ffi = false, node = "SealedSender_EncryptMessage")]
[INFO] [stderr]                 | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |               ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1063:1
[INFO] [stderr]                 |
[INFO] [stderr]            1063 | #[bridge_fn(ffi = false, node = "SealedSender_DecryptToUsmc")]
[INFO] [stderr]                 | -------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |               ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1072:1
[INFO] [stderr]                 |
[INFO] [stderr]            1072 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stderr]                 | -------------------------------------- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |                 ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1115:1
[INFO] [stderr]                 |
[INFO] [stderr]            1115 | / #[bridge_fn(
[INFO] [stderr]            1116 | |     ffi = false,
[INFO] [stderr]            1117 | |     jni = "GroupSessionBuilder_1CreateSenderKeyDistributionMessage"
[INFO] [stderr]            1118 | | )]
[INFO] [stderr]                 | |__- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |               #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |                 ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1147:1
[INFO] [stderr]                 |
[INFO] [stderr]            1147 | / #[bridge_fn_void(
[INFO] [stderr]            1148 | |     ffi = false,
[INFO] [stderr]            1149 | |     jni = "GroupSessionBuilder_1ProcessSenderKeyDistributionMessage"
[INFO] [stderr]            1150 | | )]
[INFO] [stderr]                 | |__- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |               ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1178:1
[INFO] [stderr]                 |
[INFO] [stderr]            1178 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1EncryptMessage")]
[INFO] [stderr]                 | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected path
[INFO] [stderr]                --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stderr]                 |
[INFO] [stderr]             116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stderr]                 |               ^^^^^^
[INFO] [stderr]                 |
[INFO] [stderr]                ::: rust/bridge/shared/src/protocol.rs:1202:1
[INFO] [stderr]                 |
[INFO] [stderr]            1202 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1DecryptMessage")]
[INFO] [stderr]                 | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> rust/bridge/shared/src/jni/error.rs:158:15
[INFO] [stderr]                |
[INFO] [stderr]            153 |         let env = &self.jvm.attach_current_thread().map_err(|_| fmt::Error)?;
[INFO] [stderr]                |                    ---------------------------------------------------------
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                    `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            154 |
[INFO] [stderr]            155 |         let exn_type = self.class_name(env);
[INFO] [stderr]                |             --------
[INFO] [stderr]                |             |
[INFO] [stderr]                |             `exn_type` calls a custom destructor
[INFO] [stderr]                |             `exn_type` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            158 |         match self.message(env) { Ok(message) => {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            163 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]                = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/jni-0.19.0/src/wrapper/java_vm/vm.rs:334:1
[INFO] [stderr]                |
[INFO] [stderr]            334 | impl<'a> Drop for AttachGuard<'a> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: `exn_type` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> rust/bridge/shared/src/jni/error.rs:175:15
[INFO] [stderr]                |
[INFO] [stderr]            168 |         let env = &self.jvm.attach_current_thread().map_err(|_| fmt::Error)?;
[INFO] [stderr]                |                    ---------------------------------------------------------
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                    `#1` will be dropped later as of Edition 2024
[INFO] [stderr]            169 |
[INFO] [stderr]            170 |         let exn_type = self.class_name(env);
[INFO] [stderr]                |             --------
[INFO] [stderr]                |             |
[INFO] [stderr]                |             `exn_type` calls a custom destructor
[INFO] [stderr]                |             `exn_type` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            175 |         match self.message(env) { Ok(message) => {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |               |
[INFO] [stderr]                |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            180 |     }
[INFO] [stderr]                |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]                = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/jni-0.19.0/src/wrapper/java_vm/vm.rs:334:1
[INFO] [stderr]                |
[INFO] [stderr]            334 | impl<'a> Drop for AttachGuard<'a> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = note: `exn_type` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]              --> rust/bridge/shared/src/support/mod.rs:22:11
[INFO] [stderr]               |
[INFO] [stderr]            21 |     pin_mut!(future);
[INFO] [stderr]               |     ----------------
[INFO] [stderr]               |     |
[INFO] [stderr]               |     `future` calls a custom destructor
[INFO] [stderr]               |     `future` will be dropped later as of Edition 2024
[INFO] [stderr]            22 |     match future.poll(&mut task::Context::from_waker(noop_waker_ref())) {
[INFO] [stderr]               |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |           |
[INFO] [stderr]               |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]               |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            26 | }
[INFO] [stderr]               | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]               |
[INFO] [stderr]               = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]               = warning: this changes meaning in Rust 2024
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 126 previous errors; 3 warnings emitted
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/aes_gcm_siv.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[bridge_fn_buffer]
[INFO] [stdout]    | ------------------- in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | #[bridge_fn_buffer]
[INFO] [stdout]     | ------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]     | ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]     | ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:20:1
[INFO] [stdout]     |
[INFO] [stdout]  20 | bridge_handle!(PrivateKey, ffi = privatekey, jni = ECPrivateKey);
[INFO] [stdout]     | ---------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | bridge_handle!(ProtocolAddress, ffi = address);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:22:1
[INFO] [stdout]     |
[INFO] [stdout]  22 | bridge_handle!(PublicKey, ffi = publickey, jni = ECPublicKey);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | bridge_handle!(SenderCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | bridge_handle!(SenderCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout]  23 | bridge_handle!(SenderCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | bridge_handle!(SenderKeyDistributionMessage);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | bridge_handle!(SenderKeyMessage);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | bridge_handle!(SenderKeyMessage);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | bridge_handle!(SenderKeyMessage);
[INFO] [stdout]     | -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | bridge_handle!(SenderKeyName);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | bridge_handle!(SenderKeyName);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | bridge_handle!(SenderKeyName);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | bridge_handle!(SenderKeyRecord);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | bridge_handle!(SenderKeyRecord);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | bridge_handle!(SenderKeyRecord);
[INFO] [stdout]     | ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | bridge_handle!(ServerCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | bridge_handle!(ServerCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | bridge_handle!(ServerCertificate);
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]     | ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]     | ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | bridge_handle!(SessionRecord, mut = true);
[INFO] [stdout]     | ----------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | bridge_handle!(SignalMessage, ffi = message);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 374 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | bridge_handle!(SignedPreKeyRecord);
[INFO] [stdout]     | ---------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | bridge_handle!(UnidentifiedSenderMessage, ffi = false, node = false);
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]     | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 108 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:458:15
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | bridge_handle!(UnidentifiedSenderMessageContent, clone = false);
[INFO] [stdout]     | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 458 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]    | -------------------------------- in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:36:1
[INFO] [stdout]     |
[INFO] [stdout]  36 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]     | -------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[bridge_fn(ffi = "address_new")]
[INFO] [stdout]    | --------------------------------- in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | #[bridge_fn(ffi = "address_new")]
[INFO] [stdout]     | --------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:73:1
[INFO] [stdout]     |
[INFO] [stdout]  73 | bridge_deserialize!(PublicKey::deserialize, ffi = publickey, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | bridge_deserialize!(PublicKey::deserialize, ffi = publickey, jni = false);
[INFO] [stdout]    | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:73:1
[INFO] [stdout]     |
[INFO] [stdout]  73 | bridge_deserialize!(PublicKey::deserialize, ffi = publickey, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 |   #[linkme::distributed_slice]
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | / bridge_get_bytearray!(
[INFO] [stdout] 83 | |     PublicKey::serialize as Serialize,
[INFO] [stdout] 84 | |     ffi = "publickey_serialize",
[INFO] [stdout] 85 | |     jni = "ECPublicKey_1Serialize"
[INFO] [stdout] 86 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | / bridge_get_bytearray!(
[INFO] [stdout]  83 | |     PublicKey::serialize as Serialize,
[INFO] [stdout]  84 | |     ffi = "publickey_serialize",
[INFO] [stdout]  85 | |     jni = "ECPublicKey_1Serialize"
[INFO] [stdout]  86 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 |   #[linkme::distributed_slice]
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | / bridge_get_bytearray!(
[INFO] [stdout] 88 | |     PublicKey::public_key_bytes,
[INFO] [stdout] 89 | |     ffi = "publickey_get_public_key_bytes",
[INFO] [stdout] 90 | |     jni = "ECPublicKey_1GetPublicKeyBytes"
[INFO] [stdout] 91 | | );
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:87:1
[INFO] [stdout]     |
[INFO] [stdout]  87 | / bridge_get_bytearray!(
[INFO] [stdout]  88 | |     PublicKey::public_key_bytes,
[INFO] [stdout]  89 | |     ffi = "publickey_get_public_key_bytes",
[INFO] [stdout]  90 | |     jni = "ECPublicKey_1GetPublicKeyBytes"
[INFO] [stdout]  91 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | bridge_get!(ProtocolAddress::device_id as DeviceId -> u32, ffi = "address_get_device_id");
[INFO] [stdout]    | ----------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout]  92 | bridge_get!(ProtocolAddress::device_id as DeviceId -> u32, ffi = "address_get_device_id");
[INFO] [stdout]     | ----------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | bridge_get!(ProtocolAddress::name as Name -> &str, ffi = "address_get_name");
[INFO] [stdout]    | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | bridge_get!(ProtocolAddress::name as Name -> &str, ffi = "address_get_name");
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]   --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[linkme::distributed_slice]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]    |
[INFO] [stdout]   ::: rust/bridge/shared/src/protocol.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[bridge_fn(ffi = "publickey_compare", node = "PublicKey_Compare")]
[INFO] [stdout]    | ------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]    = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | #[bridge_fn(ffi = "publickey_compare", node = "PublicKey_Compare")]
[INFO] [stdout]     | ------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[bridge_fn(ffi = "publickey_verify", node = "PublicKey_Verify")]
[INFO] [stdout]     | ----------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[bridge_fn(ffi = "publickey_verify", node = "PublicKey_Verify")]
[INFO] [stdout]     | ----------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |               #[no_mangle]
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / bridge_deserialize!(
[INFO] [stdout] 110 | |     PrivateKey::deserialize,
[INFO] [stdout] 111 | |     ffi = privatekey,
[INFO] [stdout] 112 | |     jni = ECPrivateKey
[INFO] [stdout] 113 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |               #[no_mangle]
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / bridge_deserialize!(
[INFO] [stdout] 110 | |     PrivateKey::deserialize,
[INFO] [stdout] 111 | |     ffi = privatekey,
[INFO] [stdout] 112 | |     jni = ECPrivateKey
[INFO] [stdout] 113 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / bridge_deserialize!(
[INFO] [stdout] 110 | |     PrivateKey::deserialize,
[INFO] [stdout] 111 | |     ffi = privatekey,
[INFO] [stdout] 112 | |     jni = ECPrivateKey
[INFO] [stdout] 113 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | / bridge_deserialize!(
[INFO] [stdout] 110 | |     PrivateKey::deserialize,
[INFO] [stdout] 111 | |     ffi = privatekey,
[INFO] [stdout] 112 | |     jni = ECPrivateKey
[INFO] [stdout] 113 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / bridge_get_bytearray!(
[INFO] [stdout] 115 | |     PrivateKey::serialize as Serialize,
[INFO] [stdout] 116 | |     ffi = "privatekey_serialize",
[INFO] [stdout] 117 | |     jni = "ECPrivateKey_1Serialize"
[INFO] [stdout] 118 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | / bridge_get_bytearray!(
[INFO] [stdout] 115 | |     PrivateKey::serialize as Serialize,
[INFO] [stdout] 116 | |     ffi = "privatekey_serialize",
[INFO] [stdout] 117 | |     jni = "ECPrivateKey_1Serialize"
[INFO] [stdout] 118 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[bridge_fn(ffi = "privatekey_generate", node = "PrivateKey_Generate")]
[INFO] [stdout]     | ----------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[bridge_fn(ffi = "privatekey_generate", node = "PrivateKey_Generate")]
[INFO] [stdout]     | ----------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[bridge_fn(ffi = "privatekey_get_public_key", node = "PrivateKey_GetPublicKey")]
[INFO] [stdout]     | --------------------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[bridge_fn(ffi = "privatekey_get_public_key", node = "PrivateKey_GetPublicKey")]
[INFO] [stdout]     | --------------------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[bridge_fn_buffer(ffi = "privatekey_sign", node = "PrivateKey_Sign")]
[INFO] [stdout]     | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[bridge_fn_buffer(ffi = "privatekey_sign", node = "PrivateKey_Sign")]
[INFO] [stdout]     | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[bridge_fn_buffer(ffi = "privatekey_agree", node = "PrivateKey_Agree")]
[INFO] [stdout]     | ------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | #[bridge_fn_buffer(ffi = "privatekey_agree", node = "PrivateKey_Agree")]
[INFO] [stdout]     | ------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[bridge_fn_buffer(ffi = "identitykeypair_serialize")]
[INFO] [stdout]     | ------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[bridge_fn_buffer(ffi = "identitykeypair_serialize")]
[INFO] [stdout]     | ------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | #[bridge_fn(jni = false)]
[INFO] [stdout]     | ------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | #[bridge_fn(jni = false)]
[INFO] [stdout]     | ------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:201:1
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[bridge_fn_buffer(jni = "NumericFingerprintGenerator_1GetScannableEncoding")]
[INFO] [stdout]     | ------------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:201:1
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[bridge_fn_buffer(jni = "NumericFingerprintGenerator_1GetScannableEncoding")]
[INFO] [stdout]     | ------------------------------------------------------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | / bridge_get!(
[INFO] [stdout] 207 | |     Fingerprint::display_string as DisplayString -> String,
[INFO] [stdout] 208 | |     jni = "NumericFingerprintGenerator_1GetDisplayString"
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:206:1
[INFO] [stdout]     |
[INFO] [stdout] 206 | / bridge_get!(
[INFO] [stdout] 207 | |     Fingerprint::display_string as DisplayString -> String,
[INFO] [stdout] 208 | |     jni = "NumericFingerprintGenerator_1GetDisplayString"
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[bridge_fn(ffi = "fingerprint_compare")]
[INFO] [stdout]     | ----------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | #[bridge_fn(ffi = "fingerprint_compare")]
[INFO] [stdout]     | ----------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | bridge_deserialize!(SignalMessage::try_from, ffi = message);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | bridge_deserialize!(SignalMessage::try_from, ffi = message);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | bridge_deserialize!(SignalMessage::try_from, ffi = message);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | bridge_deserialize!(SignalMessage::try_from, ffi = message);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:223:1
[INFO] [stdout]     |
[INFO] [stdout] 223 | bridge_get_bytearray!(SignalMessage::body, ffi = "message_get_body");
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:223:1
[INFO] [stdout]     |
[INFO] [stdout] 223 | bridge_get_bytearray!(SignalMessage::body, ffi = "message_get_body");
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | bridge_get_bytearray!(SignalMessage::serialized, ffi = "message_get_serialized");
[INFO] [stdout]     | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | bridge_get_bytearray!(SignalMessage::serialized, ffi = "message_get_serialized");
[INFO] [stdout]     | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | bridge_get!(SignalMessage::counter -> u32, ffi = "message_get_counter");
[INFO] [stdout]     | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | bridge_get!(SignalMessage::counter -> u32, ffi = "message_get_counter");
[INFO] [stdout]     | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | bridge_get!(SignalMessage::message_version -> u32, ffi = "message_get_message_version");
[INFO] [stdout]     | --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | bridge_get!(SignalMessage::message_version -> u32, ffi = "message_get_message_version");
[INFO] [stdout]     | --------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | #[bridge_fn(ffi = "message_new")]
[INFO] [stdout]     | --------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout] 228 | #[bridge_fn(ffi = "message_new")]
[INFO] [stdout]     | --------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[bridge_fn(ffi = "message_verify_mac")]
[INFO] [stdout]     | ---------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | #[bridge_fn(ffi = "message_verify_mac")]
[INFO] [stdout]     | ---------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | bridge_deserialize!(PreKeySignalMessage::try_from);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | bridge_deserialize!(PreKeySignalMessage::try_from);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | bridge_deserialize!(PreKeySignalMessage::try_from);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | bridge_deserialize!(PreKeySignalMessage::try_from);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | / bridge_get_bytearray!(
[INFO] [stdout] 308 | |     PreKeySignalMessage::serialized as Serialize,
[INFO] [stdout] 309 | |     jni = "PreKeySignalMessage_1GetSerialized"
[INFO] [stdout] 310 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:307:1
[INFO] [stdout]     |
[INFO] [stdout] 307 | / bridge_get_bytearray!(
[INFO] [stdout] 308 | |     PreKeySignalMessage::serialized as Serialize,
[INFO] [stdout] 309 | |     jni = "PreKeySignalMessage_1GetSerialized"
[INFO] [stdout] 310 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | bridge_get!(PreKeySignalMessage::registration_id -> u32);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | bridge_get!(PreKeySignalMessage::registration_id -> u32);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | bridge_get!(PreKeySignalMessage::signed_pre_key_id -> u32);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | bridge_get!(PreKeySignalMessage::signed_pre_key_id -> u32);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:339:1
[INFO] [stdout]     |
[INFO] [stdout] 339 | bridge_get!(PreKeySignalMessage::pre_key_id -> Option<u32>);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:339:1
[INFO] [stdout]     |
[INFO] [stdout] 339 | bridge_get!(PreKeySignalMessage::pre_key_id -> Option<u32>);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:340:1
[INFO] [stdout]     |
[INFO] [stdout] 340 | bridge_get!(PreKeySignalMessage::message_version as GetVersion -> u32);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:340:1
[INFO] [stdout]     |
[INFO] [stdout] 340 | bridge_get!(PreKeySignalMessage::message_version as GetVersion -> u32);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | bridge_deserialize!(SenderKeyMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | bridge_deserialize!(SenderKeyMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | bridge_deserialize!(SenderKeyMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | bridge_deserialize!(SenderKeyMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:343:1
[INFO] [stdout]     |
[INFO] [stdout] 343 | bridge_get_bytearray!(SenderKeyMessage::ciphertext as GetCipherText);
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:343:1
[INFO] [stdout]     |
[INFO] [stdout] 343 | bridge_get_bytearray!(SenderKeyMessage::ciphertext as GetCipherText);
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / bridge_get_bytearray!(
[INFO] [stdout] 345 | |     SenderKeyMessage::serialized as Serialize,
[INFO] [stdout] 346 | |     jni = "SenderKeyMessage_1GetSerialized"
[INFO] [stdout] 347 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / bridge_get_bytearray!(
[INFO] [stdout] 345 | |     SenderKeyMessage::serialized as Serialize,
[INFO] [stdout] 346 | |     jni = "SenderKeyMessage_1GetSerialized"
[INFO] [stdout] 347 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | bridge_get!(SenderKeyMessage::key_id -> u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | bridge_get!(SenderKeyMessage::key_id -> u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | bridge_get!(SenderKeyMessage::iteration -> u32);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | bridge_get!(SenderKeyMessage::iteration -> u32);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | bridge_deserialize!(SenderKeyDistributionMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | bridge_deserialize!(SenderKeyDistributionMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | bridge_deserialize!(SenderKeyDistributionMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | bridge_deserialize!(SenderKeyDistributionMessage::try_from);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:368:1
[INFO] [stdout]     |
[INFO] [stdout] 368 | bridge_get_bytearray!(SenderKeyDistributionMessage::chain_key);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:368:1
[INFO] [stdout]     |
[INFO] [stdout] 368 | bridge_get_bytearray!(SenderKeyDistributionMessage::chain_key);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | / bridge_get_bytearray!(
[INFO] [stdout] 383 | |     SenderKeyDistributionMessage::serialized as Serialize,
[INFO] [stdout] 384 | |     jni = "SenderKeyDistributionMessage_1GetSerialized"
[INFO] [stdout] 385 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:382:1
[INFO] [stdout]     |
[INFO] [stdout] 382 | / bridge_get_bytearray!(
[INFO] [stdout] 383 | |     SenderKeyDistributionMessage::serialized as Serialize,
[INFO] [stdout] 384 | |     jni = "SenderKeyDistributionMessage_1GetSerialized"
[INFO] [stdout] 385 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | bridge_get!(SenderKeyDistributionMessage::id -> u32);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | bridge_get!(SenderKeyDistributionMessage::id -> u32);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | bridge_get!(SenderKeyDistributionMessage::iteration -> u32);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | bridge_get!(SenderKeyDistributionMessage::iteration -> u32);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:440:1
[INFO] [stdout]     |
[INFO] [stdout] 440 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:440:1
[INFO] [stdout]     |
[INFO] [stdout] 440 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:445:1
[INFO] [stdout]     |
[INFO] [stdout] 445 | bridge_get_bytearray!(PreKeyBundle::signed_pre_key_signature);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:445:1
[INFO] [stdout]     |
[INFO] [stdout] 445 | bridge_get_bytearray!(PreKeyBundle::signed_pre_key_signature);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:446:1
[INFO] [stdout]     |
[INFO] [stdout] 446 | bridge_get!(PreKeyBundle::registration_id -> u32);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:446:1
[INFO] [stdout]     |
[INFO] [stdout] 446 | bridge_get!(PreKeyBundle::registration_id -> u32);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | bridge_get!(PreKeyBundle::device_id -> u32);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:447:1
[INFO] [stdout]     |
[INFO] [stdout] 447 | bridge_get!(PreKeyBundle::device_id -> u32);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:448:1
[INFO] [stdout]     |
[INFO] [stdout] 448 | bridge_get!(PreKeyBundle::signed_pre_key_id -> u32);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:448:1
[INFO] [stdout]     |
[INFO] [stdout] 448 | bridge_get!(PreKeyBundle::signed_pre_key_id -> u32);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:449:1
[INFO] [stdout]     |
[INFO] [stdout] 449 | bridge_get!(PreKeyBundle::pre_key_id -> Option<u32>);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:449:1
[INFO] [stdout]     |
[INFO] [stdout] 449 | bridge_get!(PreKeyBundle::pre_key_id -> Option<u32>);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:450:1
[INFO] [stdout]     |
[INFO] [stdout] 450 | bridge_get!(PreKeyBundle::pre_key_public -> Option<PublicKey>);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:450:1
[INFO] [stdout]     |
[INFO] [stdout] 450 | bridge_get!(PreKeyBundle::pre_key_public -> Option<PublicKey>);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:451:1
[INFO] [stdout]     |
[INFO] [stdout] 451 | bridge_get!(PreKeyBundle::signed_pre_key_public -> PublicKey);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:451:1
[INFO] [stdout]     |
[INFO] [stdout] 451 | bridge_get!(PreKeyBundle::signed_pre_key_public -> PublicKey);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | bridge_deserialize!(SignedPreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | bridge_deserialize!(SignedPreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | bridge_deserialize!(SignedPreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | bridge_deserialize!(SignedPreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:454:1
[INFO] [stdout]     |
[INFO] [stdout] 454 | bridge_get_bytearray!(SignedPreKeyRecord::signature);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:454:1
[INFO] [stdout]     |
[INFO] [stdout] 454 | bridge_get_bytearray!(SignedPreKeyRecord::signature);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:455:1
[INFO] [stdout]     |
[INFO] [stdout] 455 | / bridge_get_bytearray!(
[INFO] [stdout] 456 | |     SignedPreKeyRecord::serialize as Serialize,
[INFO] [stdout] 457 | |     jni = "SignedPreKeyRecord_1GetSerialized"
[INFO] [stdout] 458 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:455:1
[INFO] [stdout]     |
[INFO] [stdout] 455 | / bridge_get_bytearray!(
[INFO] [stdout] 456 | |     SignedPreKeyRecord::serialize as Serialize,
[INFO] [stdout] 457 | |     jni = "SignedPreKeyRecord_1GetSerialized"
[INFO] [stdout] 458 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:459:1
[INFO] [stdout]     |
[INFO] [stdout] 459 | bridge_get!(SignedPreKeyRecord::id -> u32);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:459:1
[INFO] [stdout]     |
[INFO] [stdout] 459 | bridge_get!(SignedPreKeyRecord::id -> u32);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:460:1
[INFO] [stdout]     |
[INFO] [stdout] 460 | bridge_get!(SignedPreKeyRecord::timestamp -> u64);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:460:1
[INFO] [stdout]     |
[INFO] [stdout] 460 | bridge_get!(SignedPreKeyRecord::timestamp -> u64);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | bridge_get!(SignedPreKeyRecord::public_key -> PublicKey);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | bridge_get!(SignedPreKeyRecord::public_key -> PublicKey);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:462:1
[INFO] [stdout]     |
[INFO] [stdout] 462 | bridge_get!(SignedPreKeyRecord::private_key -> PrivateKey);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:462:1
[INFO] [stdout]     |
[INFO] [stdout] 462 | bridge_get!(SignedPreKeyRecord::private_key -> PrivateKey);
[INFO] [stdout]     | ---------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:464:1
[INFO] [stdout]     |
[INFO] [stdout] 464 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:464:1
[INFO] [stdout]     |
[INFO] [stdout] 464 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:476:1
[INFO] [stdout]     |
[INFO] [stdout] 476 | bridge_deserialize!(PreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:476:1
[INFO] [stdout]     |
[INFO] [stdout] 476 | bridge_deserialize!(PreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:476:1
[INFO] [stdout]     |
[INFO] [stdout] 476 | bridge_deserialize!(PreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:476:1
[INFO] [stdout]     |
[INFO] [stdout] 476 | bridge_deserialize!(PreKeyRecord::deserialize);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | / bridge_get_bytearray!(
[INFO] [stdout] 478 | |     PreKeyRecord::serialize as Serialize,
[INFO] [stdout] 479 | |     jni = "PreKeyRecord_1GetSerialized"
[INFO] [stdout] 480 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | / bridge_get_bytearray!(
[INFO] [stdout] 478 | |     PreKeyRecord::serialize as Serialize,
[INFO] [stdout] 479 | |     jni = "PreKeyRecord_1GetSerialized"
[INFO] [stdout] 480 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | bridge_get!(PreKeyRecord::id -> u32);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | bridge_get!(PreKeyRecord::id -> u32);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:482:1
[INFO] [stdout]     |
[INFO] [stdout] 482 | bridge_get!(PreKeyRecord::public_key -> PublicKey);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:482:1
[INFO] [stdout]     |
[INFO] [stdout] 482 | bridge_get!(PreKeyRecord::public_key -> PublicKey);
[INFO] [stdout]     | -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | bridge_get!(PreKeyRecord::private_key -> PrivateKey);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | bridge_get!(PreKeyRecord::private_key -> PrivateKey);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | bridge_get!(SenderKeyName::group_id -> String);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | bridge_get!(SenderKeyName::group_id -> String);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:515:1
[INFO] [stdout]     |
[INFO] [stdout] 515 | bridge_deserialize!(SenderKeyRecord::deserialize);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:515:1
[INFO] [stdout]     |
[INFO] [stdout] 515 | bridge_deserialize!(SenderKeyRecord::deserialize);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:515:1
[INFO] [stdout]     |
[INFO] [stdout] 515 | bridge_deserialize!(SenderKeyRecord::deserialize);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:515:1
[INFO] [stdout]     |
[INFO] [stdout] 515 | bridge_deserialize!(SenderKeyRecord::deserialize);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:516:1
[INFO] [stdout]     |
[INFO] [stdout] 516 | / bridge_get_bytearray!(
[INFO] [stdout] 517 | |     SenderKeyRecord::serialize as Serialize,
[INFO] [stdout] 518 | |     jni = "SenderKeyRecord_1GetSerialized"
[INFO] [stdout] 519 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:516:1
[INFO] [stdout]     |
[INFO] [stdout] 516 | / bridge_get_bytearray!(
[INFO] [stdout] 517 | |     SenderKeyRecord::serialize as Serialize,
[INFO] [stdout] 518 | |     jni = "SenderKeyRecord_1GetSerialized"
[INFO] [stdout] 519 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | #[bridge_fn(ffi = "sender_key_record_new_fresh")]
[INFO] [stdout]     | ------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:521:1
[INFO] [stdout]     |
[INFO] [stdout] 521 | #[bridge_fn(ffi = "sender_key_record_new_fresh")]
[INFO] [stdout]     | ------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | bridge_deserialize!(ServerCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | bridge_deserialize!(ServerCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | bridge_deserialize!(ServerCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | bridge_deserialize!(ServerCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:527:1
[INFO] [stdout]     |
[INFO] [stdout] 527 | bridge_get_bytearray!(ServerCertificate::serialized);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:527:1
[INFO] [stdout]     |
[INFO] [stdout] 527 | bridge_get_bytearray!(ServerCertificate::serialized);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:528:1
[INFO] [stdout]     |
[INFO] [stdout] 528 | bridge_get_bytearray!(ServerCertificate::certificate);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:528:1
[INFO] [stdout]     |
[INFO] [stdout] 528 | bridge_get_bytearray!(ServerCertificate::certificate);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:529:1
[INFO] [stdout]     |
[INFO] [stdout] 529 | bridge_get_bytearray!(ServerCertificate::signature);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:529:1
[INFO] [stdout]     |
[INFO] [stdout] 529 | bridge_get_bytearray!(ServerCertificate::signature);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | bridge_get!(ServerCertificate::key_id -> u32);
[INFO] [stdout]     | --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | bridge_get!(ServerCertificate::key_id -> u32);
[INFO] [stdout]     | --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:531:1
[INFO] [stdout]     |
[INFO] [stdout] 531 | bridge_get!(ServerCertificate::public_key as GetKey -> PublicKey);
[INFO] [stdout]     | ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:531:1
[INFO] [stdout]     |
[INFO] [stdout] 531 | bridge_get!(ServerCertificate::public_key as GetKey -> PublicKey);
[INFO] [stdout]     | ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:533:1
[INFO] [stdout]     |
[INFO] [stdout] 533 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:533:1
[INFO] [stdout]     |
[INFO] [stdout] 533 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:543:1
[INFO] [stdout]     |
[INFO] [stdout] 543 | bridge_deserialize!(SenderCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:543:1
[INFO] [stdout]     |
[INFO] [stdout] 543 | bridge_deserialize!(SenderCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:543:1
[INFO] [stdout]     |
[INFO] [stdout] 543 | bridge_deserialize!(SenderCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:543:1
[INFO] [stdout]     |
[INFO] [stdout] 543 | bridge_deserialize!(SenderCertificate::deserialize);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | bridge_get_bytearray!(SenderCertificate::serialized);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | bridge_get_bytearray!(SenderCertificate::serialized);
[INFO] [stdout]     | ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:545:1
[INFO] [stdout]     |
[INFO] [stdout] 545 | bridge_get_bytearray!(SenderCertificate::certificate);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:545:1
[INFO] [stdout]     |
[INFO] [stdout] 545 | bridge_get_bytearray!(SenderCertificate::certificate);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:546:1
[INFO] [stdout]     |
[INFO] [stdout] 546 | bridge_get_bytearray!(SenderCertificate::signature);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:546:1
[INFO] [stdout]     |
[INFO] [stdout] 546 | bridge_get_bytearray!(SenderCertificate::signature);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:547:1
[INFO] [stdout]     |
[INFO] [stdout] 547 | bridge_get!(SenderCertificate::sender_uuid -> &str);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:547:1
[INFO] [stdout]     |
[INFO] [stdout] 547 | bridge_get!(SenderCertificate::sender_uuid -> &str);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout] 548 | bridge_get!(SenderCertificate::sender_e164 -> Option<&str>);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout] 548 | bridge_get!(SenderCertificate::sender_e164 -> Option<&str>);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:549:1
[INFO] [stdout]     |
[INFO] [stdout] 549 | bridge_get!(SenderCertificate::expiration -> u64);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:549:1
[INFO] [stdout]     |
[INFO] [stdout] 549 | bridge_get!(SenderCertificate::expiration -> u64);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:550:1
[INFO] [stdout]     |
[INFO] [stdout] 550 | bridge_get!(SenderCertificate::sender_device_id as GetDeviceId -> u32);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:550:1
[INFO] [stdout]     |
[INFO] [stdout] 550 | bridge_get!(SenderCertificate::sender_device_id as GetDeviceId -> u32);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:551:1
[INFO] [stdout]     |
[INFO] [stdout] 551 | bridge_get!(SenderCertificate::key -> PublicKey);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:551:1
[INFO] [stdout]     |
[INFO] [stdout] 551 | bridge_get!(SenderCertificate::key -> PublicKey);
[INFO] [stdout]     | ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:553:1
[INFO] [stdout]     |
[INFO] [stdout] 553 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:553:1
[INFO] [stdout]     |
[INFO] [stdout] 553 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:562:1
[INFO] [stdout]     |
[INFO] [stdout] 562 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:562:1
[INFO] [stdout]     |
[INFO] [stdout] 562 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:567:1
[INFO] [stdout]     |
[INFO] [stdout] 567 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:567:1
[INFO] [stdout]     |
[INFO] [stdout] 567 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | bridge_deserialize!(UnidentifiedSenderMessageContent::deserialize);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | bridge_deserialize!(UnidentifiedSenderMessageContent::deserialize);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | bridge_deserialize!(UnidentifiedSenderMessageContent::deserialize);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | bridge_deserialize!(UnidentifiedSenderMessageContent::deserialize);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / bridge_get_bytearray!(
[INFO] [stdout] 593 | |     UnidentifiedSenderMessageContent::serialized as Serialize,
[INFO] [stdout] 594 | |     jni = "UnidentifiedSenderMessageContent_1GetSerialized"
[INFO] [stdout] 595 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / bridge_get_bytearray!(
[INFO] [stdout] 593 | |     UnidentifiedSenderMessageContent::serialized as Serialize,
[INFO] [stdout] 594 | |     jni = "UnidentifiedSenderMessageContent_1GetSerialized"
[INFO] [stdout] 595 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:596:1
[INFO] [stdout]     |
[INFO] [stdout] 596 | bridge_get_bytearray!(UnidentifiedSenderMessageContent::contents);
[INFO] [stdout]     | ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:596:1
[INFO] [stdout]     |
[INFO] [stdout] 596 | bridge_get_bytearray!(UnidentifiedSenderMessageContent::contents);
[INFO] [stdout]     | ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:598:1
[INFO] [stdout]     |
[INFO] [stdout] 598 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:598:1
[INFO] [stdout]     |
[INFO] [stdout] 598 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:605:1
[INFO] [stdout]     |
[INFO] [stdout] 605 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:605:1
[INFO] [stdout]     |
[INFO] [stdout] 605 | #[bridge_fn]
[INFO] [stdout]     | ------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |               #[no_mangle]
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:630:1
[INFO] [stdout]     |
[INFO] [stdout] 630 | / bridge_deserialize!(
[INFO] [stdout] 631 | |     UnidentifiedSenderMessage::deserialize,
[INFO] [stdout] 632 | |     ffi = false,
[INFO] [stdout] 633 | |     node = false
[INFO] [stdout] 634 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:692:1
[INFO] [stdout]     |
[INFO] [stdout] 692 | #[bridge_fn(jni = false)]
[INFO] [stdout]     | ------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:692:1
[INFO] [stdout]     |
[INFO] [stdout] 692 | #[bridge_fn(jni = false)]
[INFO] [stdout]     | ------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:697:1
[INFO] [stdout]     |
[INFO] [stdout] 697 | bridge_get_bytearray!(CiphertextMessage::serialize as Serialize, jni = false);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:697:1
[INFO] [stdout]     |
[INFO] [stdout] 697 | bridge_get_bytearray!(CiphertextMessage::serialize as Serialize, jni = false);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | #[bridge_fn_void]
[INFO] [stdout]     | ----------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | #[bridge_fn_void]
[INFO] [stdout]     | ----------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:726:1
[INFO] [stdout]     |
[INFO] [stdout] 726 | bridge_deserialize!(SessionRecord::deserialize);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 129 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:477:15
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[no_mangle]
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:726:1
[INFO] [stdout]     |
[INFO] [stdout] 726 | bridge_deserialize!(SessionRecord::deserialize);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_deserialize` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 477 |             #[unsafe(no_mangle)]
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:726:1
[INFO] [stdout]     |
[INFO] [stdout] 726 | bridge_deserialize!(SessionRecord::deserialize);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:726:1
[INFO] [stdout]     |
[INFO] [stdout] 726 | bridge_deserialize!(SessionRecord::deserialize);
[INFO] [stdout]     | ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:727:1
[INFO] [stdout]     |
[INFO] [stdout] 727 | bridge_get_bytearray!(SessionRecord::serialize as Serialize);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:727:1
[INFO] [stdout]     |
[INFO] [stdout] 727 | bridge_get_bytearray!(SessionRecord::serialize as Serialize);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:739:1
[INFO] [stdout]     |
[INFO] [stdout] 739 | bridge_get!(SessionRecord::local_registration_id -> u32);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:739:1
[INFO] [stdout]     |
[INFO] [stdout] 739 | bridge_get!(SessionRecord::local_registration_id -> u32);
[INFO] [stdout]     | -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:740:1
[INFO] [stdout]     |
[INFO] [stdout] 740 | bridge_get!(SessionRecord::remote_registration_id -> u32);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:740:1
[INFO] [stdout]     |
[INFO] [stdout] 740 | bridge_get!(SessionRecord::remote_registration_id -> u32);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:743:1
[INFO] [stdout]     |
[INFO] [stdout] 743 | bridge_get!(SealedSenderDecryptionResult::sender_uuid -> String, ffi = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:743:1
[INFO] [stdout]     |
[INFO] [stdout] 743 | bridge_get!(SealedSenderDecryptionResult::sender_uuid -> String, ffi = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:744:1
[INFO] [stdout]     |
[INFO] [stdout] 744 | bridge_get!(SealedSenderDecryptionResult::sender_e164 -> Option<String>, ffi = false, jni = false);
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:744:1
[INFO] [stdout]     |
[INFO] [stdout] 744 | bridge_get!(SealedSenderDecryptionResult::sender_e164 -> Option<String>, ffi = false, jni = false);
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:745:1
[INFO] [stdout]     |
[INFO] [stdout] 745 | bridge_get!(SealedSenderDecryptionResult::device_id -> u32, ffi = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:745:1
[INFO] [stdout]     |
[INFO] [stdout] 745 | bridge_get!(SealedSenderDecryptionResult::device_id -> u32, ffi = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 |   #[linkme::distributed_slice]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:746:1
[INFO] [stdout]     |
[INFO] [stdout] 746 | / bridge_get_bytearray!(
[INFO] [stdout] 747 | |     SealedSenderDecryptionResult::message as Message,
[INFO] [stdout] 748 | |     ffi = false,
[INFO] [stdout] 749 | |     jni = false
[INFO] [stdout] 750 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:746:1
[INFO] [stdout]     |
[INFO] [stdout] 746 | / bridge_get_bytearray!(
[INFO] [stdout] 747 | |     SealedSenderDecryptionResult::message as Message,
[INFO] [stdout] 748 | |     ffi = false,
[INFO] [stdout] 749 | |     jni = false
[INFO] [stdout] 750 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the macro `bridge_get_bytearray` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:858:1
[INFO] [stdout]     |
[INFO] [stdout] 858 | #[bridge_fn_void(ffi = false)]
[INFO] [stdout]     | ------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:858:1
[INFO] [stdout]     |
[INFO] [stdout] 858 | #[bridge_fn_void(ffi = false)]
[INFO] [stdout]     | ------------------------------ in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:895:1
[INFO] [stdout]     |
[INFO] [stdout] 895 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stdout]     | -------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:895:1
[INFO] [stdout]     |
[INFO] [stdout] 895 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stdout]     | -------------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:934:1
[INFO] [stdout]     |
[INFO] [stdout] 934 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]     | -------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:934:1
[INFO] [stdout]     |
[INFO] [stdout] 934 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]     | -------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | #[linkme::distributed_slice]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:981:1
[INFO] [stdout]     |
[INFO] [stdout] 981 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]     | -------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:981:1
[INFO] [stdout]     |
[INFO] [stdout] 981 | #[bridge_fn_buffer(ffi = false)]
[INFO] [stdout]     | -------------------------------- in this attribute macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]     |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 | #[linkme::distributed_slice]
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | #[bridge_fn_buffer(ffi = false, node = "SealedSender_EncryptMessage")]
[INFO] [stdout]      | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | #[bridge_fn_buffer(ffi = false, node = "SealedSender_EncryptMessage")]
[INFO] [stdout]      | ---------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 | #[linkme::distributed_slice]
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1063:1
[INFO] [stdout]      |
[INFO] [stdout] 1063 | #[bridge_fn(ffi = false, node = "SealedSender_DecryptToUsmc")]
[INFO] [stdout]      | -------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1063:1
[INFO] [stdout]      |
[INFO] [stdout] 1063 | #[bridge_fn(ffi = false, node = "SealedSender_DecryptToUsmc")]
[INFO] [stdout]      | -------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 | #[linkme::distributed_slice]
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stdout]      | -------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | #[bridge_fn(ffi = false, jni = false)]
[INFO] [stdout]      | -------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 |   #[linkme::distributed_slice]
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1115:1
[INFO] [stdout]      |
[INFO] [stdout] 1115 | / #[bridge_fn(
[INFO] [stdout] 1116 | |     ffi = false,
[INFO] [stdout] 1117 | |     jni = "GroupSessionBuilder_1CreateSenderKeyDistributionMessage"
[INFO] [stdout] 1118 | | )]
[INFO] [stdout]      | |__- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1115:1
[INFO] [stdout]      |
[INFO] [stdout] 1115 | / #[bridge_fn(
[INFO] [stdout] 1116 | |     ffi = false,
[INFO] [stdout] 1117 | |     jni = "GroupSessionBuilder_1CreateSenderKeyDistributionMessage"
[INFO] [stdout] 1118 | | )]
[INFO] [stdout]      | |__- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 |   #[linkme::distributed_slice]
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1147:1
[INFO] [stdout]      |
[INFO] [stdout] 1147 | / #[bridge_fn_void(
[INFO] [stdout] 1148 | |     ffi = false,
[INFO] [stdout] 1149 | |     jni = "GroupSessionBuilder_1ProcessSenderKeyDistributionMessage"
[INFO] [stdout] 1150 | | )]
[INFO] [stdout]      | |__- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |               #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |                 ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1147:1
[INFO] [stdout]      |
[INFO] [stdout] 1147 | / #[bridge_fn_void(
[INFO] [stdout] 1148 | |     ffi = false,
[INFO] [stdout] 1149 | |     jni = "GroupSessionBuilder_1ProcessSenderKeyDistributionMessage"
[INFO] [stdout] 1150 | | )]
[INFO] [stdout]      | |__- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_void` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 | #[linkme::distributed_slice]
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1EncryptMessage")]
[INFO] [stdout]      | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1178:1
[INFO] [stdout]      |
[INFO] [stdout] 1178 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1EncryptMessage")]
[INFO] [stdout]      | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:28:1
[INFO] [stdout]      |
[INFO] [stdout]   28 | #[linkme::distributed_slice]
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1DecryptMessage")]
[INFO] [stdout]      | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node::LIBSIGNAL_FNS` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> rust/bridge/shared/src/node/mod.rs:116:15
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[no_mangle] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               ^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout]      |
[INFO] [stdout]     ::: rust/bridge/shared/src/protocol.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | #[bridge_fn_buffer(ffi = false, jni = "GroupCipher_1DecryptMessage")]
[INFO] [stdout]      | --------------------------------------------------------------------- in this attribute macro expansion
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `node_register` which comes from the expansion of the attribute macro `bridge_fn_buffer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  116 |             #[unsafe(no_mangle)] // necessary because we are linking as a cdylib
[INFO] [stdout]      |               +++++++         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             *p = Box::into_raw(Box::new(o));
[INFO] [stdout]    |             ^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | / pub unsafe fn box_object<T>(
[INFO] [stdout] 38 | |     p: *mut *mut T,
[INFO] [stdout] 39 | |     obj: Result<T, SignalProtocolError>,
[INFO] [stdout] 40 | | ) -> Result<(), SignalFfiError> {
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             *p = std::ptr::null_mut();
[INFO] [stdout]    |             ^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Ok(&*(handle))
[INFO] [stdout]    |         ^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub unsafe fn native_handle_cast<T>(handle: *const T) -> Result<&'static T, SignalFfiError> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |     Ok(&mut *handle)
[INFO] [stdout]    |             ^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub unsafe fn native_handle_cast_mut<T>(handle: *mut T) -> Result<&'static mut T, SignalFfiError> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     *ptr = value.convert_into()?;
[INFO] [stdout]    |     ^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub unsafe fn write_result_to<T: ResultTypeInfo>(
[INFO] [stdout] 73 | |     ptr: *mut T::ResultType,
[INFO] [stdout] 74 | |     value: T,
[INFO] [stdout] 75 | | ) -> SignalFfiResult<()> {
[INFO] [stdout]    | |________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     *out_len = value.len();
[INFO] [stdout]    |     ^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | / pub unsafe fn write_bytearray_to<T: Into<Box<[u8]>>>(
[INFO] [stdout] 84 | |     out: *mut *const c_uchar,
[INFO] [stdout] 85 | |     out_len: *mut size_t,
[INFO] [stdout] 86 | |     value: T,
[INFO] [stdout] 87 | | ) -> Result<(), SignalFfiError> {
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     *out = (*mem).as_ptr();
[INFO] [stdout]    |     ^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> rust/bridge/shared/src/ffi/mod.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     *out = (*mem).as_ptr();
[INFO] [stdout]    |            ^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> rust/bridge/shared/src/jni/error.rs:158:30
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let env = &self.jvm.attach_current_thread().map_err(|_| fmt::Error)?;
[INFO] [stdout]     |                    ---------------------------------------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 154 |
[INFO] [stdout] 155 |         let exn_type = self.class_name(env);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exn_type` calls a custom destructor
[INFO] [stdout]     |             `exn_type` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |         if let Ok(message) = self.message(env) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/jni-0.19.0/src/wrapper/java_vm/vm.rs:334:1
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl<'a> Drop for AttachGuard<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `exn_type` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> rust/bridge/shared/src/jni/error.rs:175:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let env = &self.jvm.attach_current_thread().map_err(|_| fmt::Error)?;
[INFO] [stdout]     |                    ---------------------------------------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 169 |
[INFO] [stdout] 170 |         let exn_type = self.class_name(env);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exn_type` calls a custom destructor
[INFO] [stdout]     |             `exn_type` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 175 |         if let Ok(message) = self.message(env) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/jni-0.19.0/src/wrapper/java_vm/vm.rs:334:1
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl<'a> Drop for AttachGuard<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `exn_type` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |     Ok(&mut *(handle as *mut T))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / pub unsafe fn native_handle_cast<T>(
[INFO] [stdout] 252 | |     handle: ObjectHandle,
[INFO] [stdout] 253 | | ) -> Result<&'static mut T, SignalJniError> {
[INFO] [stdout]     | |___________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/node/convert.rs:637:5
[INFO] [stdout]     |
[INFO] [stdout] 637 |     std::mem::transmute::<&'a T, &'b T>(some_ref)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/node/convert.rs:636:1
[INFO] [stdout]     |
[INFO] [stdout] 636 | pub(crate) unsafe fn extend_lifetime<'a, 'b: 'a, T: ?Sized>(some_ref: &'a T) -> &'b T {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> rust/bridge/shared/src/support/mod.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pin_mut!(future);
[INFO] [stdout]    |     ----------------
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `future` calls a custom destructor
[INFO] [stdout]    |     `future` will be dropped later as of Edition 2024
[INFO] [stdout] 22 |     match future.poll(&mut task::Context::from_waker(noop_waker_ref())) {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 26 | }
[INFO] [stdout]    | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 |   bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     |   ------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:465:40
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let _boxed_value = Box::from_raw(handle as *mut $typ);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 | /             pub unsafe extern "C" fn [<Java_org_signal_client_internal_Native_ $jni_name _1Destroy>](
[INFO] [stdout] 460 | |                 _env: jni::JNIEnv,
[INFO] [stdout] 461 | |                 _class: jni::JClass,
[INFO] [stdout] 462 | |                 handle: jni::ObjectHandle,
[INFO] [stdout] 463 | |             ) {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/aes_gcm_siv.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 |   bridge_handle!(Aes256GcmSiv, clone = false);
[INFO] [stdout]     |   ------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 | bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]     | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:15:1
[INFO] [stdout]     |
[INFO] [stdout]  15 |   bridge_handle!(CiphertextMessage, clone = false, jni = false);
[INFO] [stdout]     |   ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 |   bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     |   -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::native_handle_cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:380:31
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     let obj = ffi::native_handle_cast::<$typ>(obj)?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _clone>](
[INFO] [stdout] 376 | |                 new_obj: *mut *mut $typ,
[INFO] [stdout] 377 | |                 obj: *const $typ,
[INFO] [stdout] 378 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 |   bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     |   -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::box_object` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     ffi::box_object::<$typ>(new_obj, Ok(obj.clone()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:465:40
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let _boxed_value = Box::from_raw(handle as *mut $typ);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 | /             pub unsafe extern "C" fn [<Java_org_signal_client_internal_Native_ $jni_name _1Destroy>](
[INFO] [stdout] 460 | |                 _env: jni::JNIEnv,
[INFO] [stdout] 461 | |                 _class: jni::JClass,
[INFO] [stdout] 462 | |                 handle: jni::ObjectHandle,
[INFO] [stdout] 463 | |             ) {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 |   bridge_handle!(Fingerprint, jni = NumericFingerprintGenerator);
[INFO] [stdout]     |   -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 |   bridge_handle!(PreKeyBundle);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::native_handle_cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:380:31
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     let obj = ffi::native_handle_cast::<$typ>(obj)?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _clone>](
[INFO] [stdout] 376 | |                 new_obj: *mut *mut $typ,
[INFO] [stdout] 377 | |                 obj: *const $typ,
[INFO] [stdout] 378 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 |   bridge_handle!(PreKeyBundle);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::box_object` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     ffi::box_object::<$typ>(new_obj, Ok(obj.clone()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:465:40
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let _boxed_value = Box::from_raw(handle as *mut $typ);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | bridge_handle!(PreKeyBundle);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 | /             pub unsafe extern "C" fn [<Java_org_signal_client_internal_Native_ $jni_name _1Destroy>](
[INFO] [stdout] 460 | |                 _env: jni::JNIEnv,
[INFO] [stdout] 461 | |                 _class: jni::JClass,
[INFO] [stdout] 462 | |                 handle: jni::ObjectHandle,
[INFO] [stdout] 463 | |             ) {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 |   bridge_handle!(PreKeyBundle);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 |   bridge_handle!(PreKeyRecord);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::native_handle_cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:380:31
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     let obj = ffi::native_handle_cast::<$typ>(obj)?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _clone>](
[INFO] [stdout] 376 | |                 new_obj: *mut *mut $typ,
[INFO] [stdout] 377 | |                 obj: *const $typ,
[INFO] [stdout] 378 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 |   bridge_handle!(PreKeyRecord);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::box_object` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     ffi::box_object::<$typ>(new_obj, Ok(obj.clone()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:465:40
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let _boxed_value = Box::from_raw(handle as *mut $typ);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | bridge_handle!(PreKeyRecord);
[INFO] [stdout]     | ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 | /             pub unsafe extern "C" fn [<Java_org_signal_client_internal_Native_ $jni_name _1Destroy>](
[INFO] [stdout] 460 | |                 _env: jni::JNIEnv,
[INFO] [stdout] 461 | |                 _class: jni::JClass,
[INFO] [stdout] 462 | |                 handle: jni::ObjectHandle,
[INFO] [stdout] 463 | |             ) {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 |   bridge_handle!(PreKeyRecord);
[INFO] [stdout]     |   ---------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _destroy>](
[INFO] [stdout] 110 | |                 p: *mut $typ
[INFO] [stdout] 111 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 |   bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::native_handle_cast` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:380:31
[INFO] [stdout]     |
[INFO] [stdout] 380 |                     let obj = ffi::native_handle_cast::<$typ>(obj)?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 | /             pub unsafe extern "C" fn [<signal_ $ffi_name _clone>](
[INFO] [stdout] 376 | |                 new_obj: *mut *mut $typ,
[INFO] [stdout] 377 | |                 obj: *const $typ,
[INFO] [stdout] 378 | |             ) -> *mut ffi::SignalFfiError {
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 |   bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `ffi::box_object` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/convert.rs:381:21
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     ffi::box_object::<$typ>(new_obj, Ok(obj.clone()))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `ffi_bridge_handle` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:465:40
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let _boxed_value = Box::from_raw(handle as *mut $typ);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> rust/bridge/shared/src/jni/mod.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 | /             pub unsafe extern "C" fn [<Java_org_signal_client_internal_Native_ $jni_name _1Destroy>](
[INFO] [stdout] 460 | |                 _env: jni::JNIEnv,
[INFO] [stdout] 461 | |                 _class: jni::JClass,
[INFO] [stdout] 462 | |                 handle: jni::ObjectHandle,
[INFO] [stdout] 463 | |             ) {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 |   bridge_handle!(PreKeySignalMessage);
[INFO] [stdout]     |   ----------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `jni_bridge_destroy` which comes from the expansion of the macro `bridge_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> rust/bridge/shared/src/ffi/mod.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 114 |                         Box::from_raw(p);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/bridge/shared/src/protocol.rs:20:1
[WARN] too many lines in the log, truncating it
